1 : <?php
2 : /*
3 : ThWboard - PHP/MySQL Bulletin Board System
4 : ==============================================
5 : (c) 2000, 2001 by
6 : Paul Baecher <paul@thewall.de>
7 : Felix Gonschorek <funner@thewall.de>
8 :
9 : download the latest version:
10 : http://www.thwboard.de
11 :
12 : This program is free software; you can
13 : redistribute it and/or modify it under the
14 : terms of the GNU General Public License as
15 : published by the Free Software Foundation;
16 : either version 2 of the License, or (at
17 : your option) any later version.
18 :
19 : ==============================================
20 :
21 : */
22 : /*--------------------------------------------------------------------------+
23 : This file is part of eStudy.
24 : forum/admin/classes/class.adminfunctions.inc.php
25 : - Modulgruppe: Forum
26 : - Beschreibung: Funktionen für Administrative Forenscripte
27 : - Version: 02/26/04
28 : - Autor(en): Björn Lehnhardt, Benjamin Stadin <stadin@gmx.de>
29 : +---------------------------------------------------------------------------+
30 : This program is free software; you can redistribute it and/or
31 : modify it under the terms of the GNU General Public License
32 : as published by the Free Software Foundation; either version 2
33 : of the License, or any later version.
34 : +---------------------------------------------------------------------------+
35 : This program is distributed in the hope that it will be useful,
36 : but WITHOUT ANY WARRANTY; without even the implied warranty of
37 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38 : GNU General Public License for more details.
39 : You should have received a copy of the GNU General Public License
40 : along with this program; if not, write to the Free Software
41 : Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
42 : +--------------------------------------------------------------------------*/
43 : /**
44 : * In dieser Datei sind Funktionen, die nur für Administrative Skripte benötigt werden
45 : * @package eStudy.PhotoGallery
46 : * @author Björn Lehnhardt <beini@gmx.de>
47 : * @author Benjamin Stadin <stadin@gmx.de>
48 : * @version 1.0, 02/26/04
49 : */
50 : function adminRStripslashes(&$array) {
51 1 : while (list($k, $v) = each($array)) {
52 1 : if ($k != 'argc' && $k != 'argv' && (strtoupper($k) != $k || ''.intval($k) == "$k")) {
53 1 : if (is_string($v)) {
54 1 : $array[$k] = stripslashes($v);
55 1 : }
56 1 : if (is_array($v)) {
57 1 : $array[$k] = adminRStripslashes($v);
58 1 : }
59 1 : }
60 1 : }
61 1 : return $array;
62 : }
63 : function adminQuery($query) {
64 4 : $result = mysql_query($query);
65 4 : $rows = mysql_affected_rows();
66 4 : $error = mysql_error();
67 4 : if ($error) {
68 1 : print "\n<span style='color: #FF0000;'><strong>MySQL: $error</strong></span><br/>";
69 1 : print "<pre><strong>query:</strong> $query\n\nAffected Rows: $rows</pre>";
70 : // exit;
71 1 : }
72 4 : return $result;
73 : }
74 : // Da das Forum Templates verwendet kann die message und errormessage Anzeige des Frameworks nicht einfachgenommen werden
75 : function adminMessage($title, $msg, $opt_back = 1, $opt_index = 1) {
76 1 : global $settings;
77 1 : echo "<div class='center'><br/><br/><table>";
78 1 : output::echoMessage($msg, 2);
79 1 : echo "</table><br/><br/></div>";
80 1 : include_once PATH_TO_ROOT."forum/footer.inc.php";
81 : /** HTML-Fuss und unteres Menue */
82 1 : require_once (PATH_TO_ROOT."common/footer.inc.php");
83 : // exit;
84 1 : }
85 : function adminErrormessage($title = '', $msg, $opt_back = 1, $opt_index = 1) {
86 1 : global $settings;
87 1 : echo "<div class='center'><br/><br/><table>";
88 1 : output::errorMessage($msg);
89 1 : echo "</table><br/><br/></div>";
90 1 : include_once PATH_TO_ROOT."forum/footer.inc.php";
91 : /** HTML-Fuss und unteres Menue */
92 1 : require_once (PATH_TO_ROOT."common/footer.inc.php");
93 : // exit;
94 1 : }
95 : function adminforumQuery($query) {
96 1 : $result = mysql_query($query);
97 1 : if (mysql_errno()) {
98 1 : echo "Modul Forum (class.functions.inc.php): Fataler Fehler bei SQL Abfrage aufgetreten!";
99 : // echo $query;
100 :
101 1 : } else {
102 1 : return $result;
103 : }
104 1 : }
105 : function getAdminTemplatesetarray() {
106 1 : $a_templateset = array();
107 1 : $dp = opendir(PATH_TO_ROOT .'photogallery/templates/');
108 1 : while ($file = readdir($dp)) {
109 1 : if ($file != '.' && $file != '..' && $file != 'mail' && $file != 'CVS') {
110 1 : if (is_dir(PATH_TO_ROOT .'photogallery/templates/'.$file)) {
111 1 : $a_templateset[] = $file;
112 1 : }
113 1 : }
114 1 : }
115 1 : return $a_templateset;
116 : }
117 : function adminYesnoradio($name, $yesno = 0) {
118 1 : return '<p class="pForm"><input type="radio" name="'.$name.'" value="1"'.($yesno == 1 ? ' checked' : '') .'/></p>
119 : Ja
120 1 : <p class="pForm"><input type="radio" name="'.$name.'" value="0"'.($yesno == 0 ? ' checked' : '') .'/></p>
121 : Nein
122 1 : ';
123 : }
124 : function adminDatebox($name, $timestamp) {
125 1 : $date = getdate($timestamp);
126 1 : echo "<p class='pForm'><input type=\"text\" name=\"".$name."[mday]\" size=\"2\" maxlength=\"2\" value=\"$date[mday]\"/></p>
127 : .
128 1 : <p class='pForm'><input type=\"text\" name=\"".$name."[mon]\" size=\"2\" maxlength=\"2\" value=\"$date[mon]\"/></p>
129 : .
130 1 : <p class='pForm'><input type=\"text\" name=\"".$name."[year]\" size=\"4\" maxlength=\"4\" value=\"$date[year]\"/></p>
131 : ,
132 1 : <p class='pForm'><input type=\"text\" name=\"".$name."[hours]\" size=\"2\" maxlength=\"2\" value=\"$date[hours]\"/></p>
133 : :
134 1 : <p class='pForm'><input type=\"text\" name=\"".$name."[minutes]\" size=\"2\" maxlength=\"2\" value=\"$date[minutes]\"/></p>
135 1 : (dd.mm.yyyy, hh:mm)";
136 1 : }
137 : function adminGenericformheader($action) {
138 1 : echo '<form id="form" method="post" action="'.$action.'">
139 : <table width="100%" cellspacing="0" cellpadding="3">
140 1 : ';
141 1 : }
142 : function adminGenericformfooter() {
143 : echo ' <tr>
144 : <td> </td>
145 : <td>
146 : <p class="pForm"><input type="submit" name="Abschicken" value="Submit"/></p>
147 : </td>
148 : </tr>
149 : </table>
150 1 : </form>';
151 1 : }
152 : function adminGenericformrow($desc, $name, $value = "", $size = "", $maxlength = "") {
153 1 : echo '<tr><td>'.$desc.'</td><td>';
154 1 : adminEditbox($name, $value, $size, $maxlength);
155 1 : echo '</td></tr>';
156 1 : }
157 : function adminHidden($name, $value) {
158 1 : echo "<p class='pForm'><input type=\"hidden\" name=\"$name\" value=\"$value\"/></p>";
159 1 : }
160 : function adminEditbox($name, $value = "", $size = "", $maxlength = "") {
161 2 : $editbox = "<p class='pForm'><input class=\"tbinput\" type=\"text\" name=\"$name\"";
162 2 : if ($size) {
163 1 : $editbox.= " size=\"$size\"";
164 1 : }
165 2 : if ($maxlength) {
166 1 : $editbox.= " maxlength=\"$maxlength\"";
167 1 : }
168 2 : if ($value) {
169 1 : $editbox.= " value=\"$value\"";
170 1 : }
171 2 : $editbox.= " /></p>";
172 2 : print $editbox;
173 2 : }
174 : function adminListbox($name, $key, $value, $table, $initial_select = -1, $additional = '') {
175 1 : print "\n\n<!-- listbox created by listbox() -->\n";
176 1 : print "<p class='pForm'><select class=\"tbinput\" name=\"$name\">\n$additional";
177 1 : $result = adminQuery("SELECT $key, $value FROM $table");
178 1 : while (list($key, $value) = mysql_fetch_row($result)) {
179 1 : print " <option value=\"$key\"".($key == $initial_select ? " selected='selected'" : "") .">$value</option>\n";
180 1 : }
181 1 : print "</select></p>\n";
182 1 : print "<!-- -->\n\n";
183 1 : }
184 : function adminFormatDbDate($string_date) {
185 1 : if ($string_date == '') {
186 1 : $output = "<strong>Error :</strong> Bad Time String !";
187 1 : } else {
188 1 : $output = substr($string_date, 8, 2) .".".substr($string_date, 5, 2) .".".substr($string_date, 0, 4);
189 : }
190 1 : return $output;
191 : }
192 : /*
193 : returns a string for use in <select> containing all categories and boards, ordered correctly
194 : */
195 : function adminGetOrderedBoardList() {
196 1 : $s = '';
197 1 : $a_board = array();
198 1 : $r_board = adminQuery("SELECT boardid, boardname, categoryid FROM forum_board WHERE is_photogallery=1 ORDER BY boardorder ASC");
199 1 : while ($board = mysql_fetch_array($r_board)) {
200 1 : $a_board[$board['categoryid']][] = $board;
201 1 : }
202 1 : $r_category = adminQuery("SELECT categoryid, categoryname FROM forum_category ORDER BY categoryorder ASC");
203 1 : while ($category = mysql_fetch_array($r_category)) {
204 1 : if ($a_board[$category['categoryid']]) {
205 1 : $s.= '<option value="0">'.$category['categoryname'].'</option>';
206 1 : while (list(, $board) = each($a_board[$category['categoryid']])) {
207 1 : $s.= '<option value="'.$board['boardid'].'"> -- '.$board['boardname'].'</option>';
208 1 : }
209 1 : }
210 1 : }
211 1 : return $s;
212 : }
213 : function adminUpdateboard($boardid) {
214 : // updates last posttime/thread/author of a board ..
215 1 : $r_thread = adminQuery("SELECT threadid, threadtopic, threadtime, threadlastreplyby, COUNT(threadid) AS threadcount, SUM(threadreplies) AS postcount FROM forum_thread WHERE threadlink='0' AND boardid='".intval($boardid) ."' GROUP BY threadid ORDER BY threadtime DESC LIMIT 1");
216 1 : if (mysql_num_rows($r_thread) < 1) {
217 1 : adminQuery("UPDATE forum_board SET
218 : boardlastpost='0',
219 : boardthreadid='0',
220 : boardthreadtopic='',
221 : boardlastpostby='',
222 : boardposts='0',
223 : boardthreads='0'
224 1 : WHERE boardid='".intval($boardid) ."' AND is_photogallery=1");
225 1 : } else {
226 1 : $thread = mysql_fetch_array($r_thread);
227 1 : $thread['postcount']+= $thread['threadcount']; // threads without replies.
228 1 : adminQuery("UPDATE forum_board SET
229 1 : boardlastpost='$thread[threadtime]',
230 1 : boardthreadid='$thread[threadid]',
231 1 : boardthreadtopic='".addslashes($thread['threadtopic']) ."',
232 1 : boardlastpostby='".addslashes($thread['threadlastreplyby']) ."',
233 1 : boardposts='".addslashes($thread['postcount']) ."',
234 1 : boardthreads='".addslashes($thread['threadcount']) ."'
235 1 : WHERE boardid='".intval($boardid) ."' AND is_photogallery=1");
236 : }
237 : // updateboard($boardid);
238 1 : }
239 : /**
240 : *
241 : * @param array $board - board mit verschiedene Eigenschaften
242 : * @param string $action - was soll gemacht werden
243 : * @param integer $admin - User Gruppe
244 : * @param string $method - GET oder POST
245 : * @param string $destination -Empfänger Skript
246 : *
247 : */
248 : class AdminBoardForm {
249 : function CreateForm($board, $boardrights, $action, $admin, $method, $destination, $photo_view = true, $photo_upload = true, $photo_edit = true, $photo_remove = false) {
250 1 : print '<br/><form method="'.$method.'" action="'.$destination.'">
251 : <table width="100%" cellspacing="2" cellpadding="3">
252 : <tr class="tableCell">
253 : <td>Name des Albums:</td>
254 1 : <td> <p class="pForm"><input size="60" type="text" name="boardname" value="'.(isset($board['boardname']) ? Data::toHTML($board['boardname'], false) : '') .'"/></p> </td>
255 : </tr>
256 : <tr class="tableCell">
257 : <td>Beschreibung:</td>
258 1 : <td> <p class="pForm"><textarea class="mceEditor" id="mce" rows="10" cols="60" name="description">'.(isset($board['boarddescription']) ? Data::toHTML($board['boarddescription'], false) : '') .'</textarea></p> </td>
259 1 : </tr>';
260 : /*if (($admin==1) && ($action=="newboard")) {
261 : print'
262 : <tr class="tableCell">
263 : <td>Veranstaltung</td>
264 : <td>';
265 : listbox("course_id", "categoryid", "categoryname", "forum_category", $board['categoryid']);
266 : print '</td>
267 : </tr>';
268 : }*/
269 : print '
270 : <tr class="tableCell">
271 : <td>Status<br/>
272 : Geöffnet / Geschlossen
273 : </td>
274 : <td>
275 1 : <p class="pForm"><select class="tbinput" name="en"><option value="1" '.(isset($board['boarddisabled']) && $board['boarddisabled'] == 1 ? "selected='selected'" : "") .'>Geschlossen</option><option value="0" '.(!isset($board['boarddisabled']) || $board['boarddisabled'] == 0 ? " selected='selected'" : "") .'>Geöffnet</option></select></p>
276 : </td>
277 : </tr>
278 :
279 : <tr class="tableCell">
280 : <td>Bewertung</td>
281 : <td>
282 1 : <p class="pForm"><select class="tbinput" name="marking"><option value="1" '.(isset($board['marking']) && $board['marking'] == 1 ? "selected='selected'" : "") .'>aktiviert</option><option value="0" '.(!isset($board['marking']) || $board['marking'] == 0 ? " selected='selected'" : "") .'>deaktiviert</option></select></p>
283 : </td>
284 1 : </tr>';
285 1 : if ($_SESSION['course']!=0)
286 1 : {
287 : print '<tr class="tableCell">
288 : <td> Automatisches Abo </td>
289 : <td>
290 1 : <p class="pForm"><input type="checkbox" name="mustsee" '.(isset($board['mustsee']) && $board['mustsee'] == 1 ? "checked='checked'" : "") .'/></p>
291 : (Obligatorisches Abo für alle Kursmitglieder)
292 : </td>
293 1 : </tr>';
294 1 : }
295 : print '<tr class="tableCellDark">
296 : <td colspan="2" align="center"> <p style="width:66.6%;"><strong>Allgemeine Rechte für dieses Album</strong><br/>Dozenten und Tutoren haben alle Rechte. Rechte für bestimmte Studenten können nach der Erstellung des Albums festgelegt werden.</p></td>
297 : </tr>
298 :
299 : <tr class="tableCell">
300 : <td> Kann Album einsehen</td>
301 1 : <td> <p class="pForm"><input type="checkbox" name="photo_view" '.($photo_view == '1' ? "checked='checked'" : "") .'/></p> </td>
302 : </tr>
303 :
304 :
305 : <tr class="tableCell">
306 : <td> Kann neue Bilder einstellen </td>
307 1 : <td> <p class="pForm"><input type="checkbox" name="photo_upload" '.($photo_upload == 1 ? "checked='checked'" : "") .'/></p> </td>
308 : </tr>
309 :
310 : <tr class="tableCell">
311 : <td> Kann Kommentare abgeben </td>
312 1 : <td> <p class="pForm"><input type="checkbox" name="II" '.($boardrights[1] == 1 ? "checked='checked'" : "") .'/></p> </td>
313 : </tr>
314 :
315 : <tr class="tableCell">
316 : <td> Kann selbst erstellte Bilder löschen </td>
317 1 : <td> <p class="pForm"><input type="checkbox" name="photo_remove" '.($photo_remove == 1 ? "checked='checked'" : "") .'/></p> </td>
318 : </tr>
319 :
320 :
321 : <tr class="tableCell">
322 : <td> Kann selbst erstellte Kommentare löschen </td>
323 1 : <td> <p class="pForm"><input type="checkbox" name="VII" '.($boardrights[6] == 1 ? "checked='checked'" : "") .'/></p> </td>
324 : </tr>
325 :
326 : <tr class="tableCell">
327 : <td> Kann selbst erstellte Bilder bearbeiten </td>
328 1 : <td> <p class="pForm"><input type="checkbox" name="photo_edit" '.($photo_edit == 1 ? "checked='checked'" : "") .'/></p> </td>
329 : </tr>
330 :
331 : <tr class="tableCell">
332 : <td> Kann selbst erstellte Kommentare bearbeiten </td>
333 1 : <td> <p class="pForm"><input type="checkbox" name="VIII" '.($boardrights[7] == 1 ? "checked='checked'" : "") .'/></p> </td>
334 : </tr>
335 :
336 :
337 :
338 : <tr class="tableCellDark">
339 1 : <td colspan="2" align="center">';
340 1 : if ($admin != 1) {
341 : print '
342 1 : <p class="pForm"><input type="hidden" name="course_id" value="'.$_SESSION['course'].'"/></p>';
343 1 : }
344 1 : if ($action == "edit") {
345 : print '
346 : <p class="pForm"><input type="hidden" name="update" value="1"/></p>
347 1 : <p class="pForm"><input type="hidden" name="id" value="'.$board['boardid'].'"/></p>';
348 1 : }
349 : print '
350 1 : <p class="pForm"><input type="hidden" name="action" value="'.$action.'"/></p>
351 : <p class="pForm"><input type="submit" name="Send" value="Bestätigen"/></p>
352 : </td>
353 : </tr>
354 : </table>
355 1 : </form>';
356 1 : }
357 : }
358 : /**
359 : * Diese Funktion setzt Zugriffsrechte auf Boards.
360 : *
361 : * @param integer $courseID - ID des Kurses
362 : * @param integer $boardID - ID Des Boards
363 : * @param boolean $moderatorsOnly - Board soll nur für Moderatoren (Admins, Dozenten, Tutoren und Hilfsadmins) zugänglich sein?
364 : *
365 : */
366 : function adminAddBoardRights($courseID, $boardID, $accessMask, $photo_view, $photo_upload, $photo_edit, $photo_remove) {
367 : // Eine neue Kategorie für die Veranstaltung im Forum anlegen
368 1 : global $db, $EZSQL_ERROR, $settings;
369 1 : if (is_numeric($courseID)) {
370 1 : $courseID = (int)$courseID;
371 1 : $moderatorGroupID = $db->get_row("SELECT groupid FROM {$settings['dbPrefix']}forum_group WHERE name='".$courseID."_moderators'");
372 1 : $studentGroupID = $db->get_row("SELECT groupid FROM {$settings['dbPrefix']}forum_group WHERE name='".$courseID."_students'");
373 1 : $guestGroupID = $db->get_row("SELECT groupid FROM {$settings['dbPrefix']}forum_group WHERE name='".$courseID."_guests'");
374 : // Wärend die 2 globalen Gruppen in forum_board Rechte für das gesamte Forum betreffen (sind auf null gesetzt),
375 : // betreffen die Rechte in forum_groupboard nur Einzelne Boards und deren Gruppenmitglieder
376 : // Gruppenrechte dieses Boards für Studenten
377 1 : $sql = ("INSERT INTO {$settings['dbPrefix']}forum_groupboard( boardid,accessmask,groupid )
378 1 : VALUES($boardID,
379 1 : '$accessMask',
380 1 : ".$studentGroupID->groupid.")");
381 1 : $db->query($sql);
382 : // Gruppenrechte dieses Boards für Gäste
383 1 : $sql = ("INSERT INTO {$settings['dbPrefix']}forum_groupboard( boardid,accessmask,groupid )
384 1 : VALUES($boardID,
385 1 : '$accessMask',
386 1 : ".$guestGroupID->groupid.")");
387 1 : $db->query($sql);
388 : // Gruppenrechte dieses Boards für Moderatoren, war 111101011000100001
389 1 : $sql = ("INSERT INTO {$settings['dbPrefix']}forum_groupboard( boardid,accessmask,groupid )
390 1 : VALUES($boardID,
391 : '111111111111111111',
392 1 : ".$moderatorGroupID->groupid.")");
393 1 : $db->query($sql);
394 : //photogallery rechte
395 1 : $sql = "INSERT INTO {$settings['dbPrefix']}photogallery_rights( course_id,album_id,usr_id,view,upload,edit,remove) VALUES("."$courseID,$boardID,0".",$photo_view,$photo_upload,$photo_edit,$photo_remove)";
396 1 : $db->query($sql);
397 1 : }
398 1 : return true;
399 : }
400 : function adminUpdateBoardRights($boardID, $accessMask, $photo_view, $photo_upload, $photo_edit, $photo_remove) {
401 : // Eine neue Kategorie für die Veranstaltung im Forum anlegen
402 1 : global $db, $EZSQL_ERROR, $settings;
403 1 : if (is_numeric($boardID)) if ($select = $db->get_row("SELECT categoryid FROM {$settings['dbPrefix']}forum_board WHERE boardid=$boardID AND is_photogallery=1 LIMIT 1")) {
404 0 : $db->query("DELETE FROM {$settings['dbPrefix']}forum_groupboard WHERE boardid=$boardID LIMIT 1");
405 0 : $db->query("DELETE FROM {$settings['dbPrefix']}photogallery_rights WHERE album_id=$boardID AND usr_id='0' LIMIT 1");
406 0 : adminAddBoardRights($select->categoryid, $boardID, $accessMask, $photo_view, $photo_upload, $photo_edit, $photo_remove);
407 0 : }
408 1 : return true;
409 : }
410 : // Aus Sicherheitsgründen verzichte ich darauf die Klasse forum/classes/class.funcions.inc.php einzubinden für Admin Skripte
411 : // Stattdessen finden sich hier einige wenige beötigte Funktionen wieder
412 : function adminCompressPage($output) {
413 1 : global $_SERVER, $config;
414 1 : if (isset($_SERVER['HTTP_ACCEPT_ENCODING']) && strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') && function_exists('gzcompress') && $config['compression']) {
415 0 : $output.= '<!-- gzcompress()ed -->';
416 : // http://www.p hp.net/manual/en/function.gzcompress.p hp -- comments
417 0 : header('Content-Encoding: gzip');
418 0 : $size = strlen($output);
419 0 : $crc = crc32($output);
420 0 : $output = gzcompress($output, 1);
421 0 : print "\x1f\x8b\x08\x00\x00\x00\x00\x00";
422 0 : print substr($output, 0, strlen($output) -4);
423 0 : print pack('V', $crc);
424 0 : print pack('V', $size);
425 0 : } else {
426 1 : print $output;
427 : }
428 1 : }
429 : function adminBuildLink($link, $noamp = false) {
430 1 : global $g_user, $s;
431 1 : $add = '';
432 1 : if ($g_user['userID'] != 0) {
433 1 : if ($x = strpos($link, "#")) {
434 1 : $link = substr($link, 0, $x) .$add.substr($link, $x);
435 1 : } else {
436 1 : $link.= $add;
437 : }
438 1 : }
439 1 : return $link;
440 : }
441 : class AdminTemplate {
442 : function adminTemplate($szTemplateName) {
443 3 : if (!file_exists($szTemplateName)) {
444 1 : $this->Halt("unable to load template file: '".$szTemplateName."' does not exist.");
445 1 : }
446 3 : $this->szTemplateData = @implode('', (@file($szTemplateName)));
447 3 : $this->szTemplateData = str_replace('"', '\"', $this->szTemplateData);
448 3 : $this->szTemplateData = preg_replace("/_\('([^']+)'\)/", '".adminBuildLink("$1")."', $this->szTemplateData);
449 3 : }
450 : function GetTemplate($szVarname = "") {
451 1 : if ($szVarname) {
452 1 : return ('$'.$szVarname.' .= "'.$this->szTemplateData.'";');
453 : } else {
454 1 : return ('adminCompressPage("'.$this->szTemplateData.'");');
455 : }
456 : }
457 : function Halt($szErrorMsg) {
458 2 : echo "<pre>Template error:\n ".$szErrorMsg."</pre>";
459 : // exit;
460 2 : }
461 : }
462 : function adminMessageRedirect($msg, $url) {
463 1 : global $settings;
464 1 : $TRedirect = new Template(PATH_TO_ROOT . 'photogallery/templates/redirect.html');
465 1 : eval($TRedirect->GetTemplate());
466 1 : include_once PATH_TO_ROOT . "photogallery/footer.inc.php";
467 : /** HTML-Fuss und unteres Menue */
468 1 : require_once (PATH_TO_ROOT."common/footer.inc.php");
469 : // exit;
470 1 : }
|